**條件判斷 (Condition)**是程式語言相當重要的能力,讓程式可以根據情況做出不一樣的事情。例如透過餘數除法來判斷一個整數是奇數或偶數,當一個整數除以 2 時的餘數,只會有 0 跟 1 兩個結果。若餘數為 1 則代表他是奇數,若餘數為 0 時則為偶數:
>>> a = 3
>>>
>>> if a % 2 == 1:
>>> print(a, "是奇數")
>>> else:
>>> print(a, "是偶數")
3 是奇數
if
與 else
是構成條件判斷語法的關鍵字,在 if
後面有個條件式 a % 2 == 1
,當這個條件式成立時,便會執行 if
區塊裡面的程式碼。若該條件式不成立,則執行 else
區塊裡面的程式碼。
在條件式裡面,用到了 ==
這個符號,這在前面可能沒看過,與一個等號 =
不同,當有兩個等號 ==
時,會被當作比較運算來用,代表判斷等號兩邊是否相等,在這裡解釋為 a % 2
的結果是否為 1
?
除了 ==
相等判斷以外,還有:
>
<
>=
<=
!=
這些比較運算可以用。
結合前面學的自訂函式,將條件判斷包裝起來:
>>> def f(a):
>>> if a % 2 == 1:
>>> print(a, "是奇數")
>>> else:
>>> print(a, "是偶數")
>>>
>>> f(0)
>>> f(1)
>>> f(2)
0 是偶數
1 是奇數
2 是偶數
有時可能不只要判斷一個條件,若有多個條件要判斷時,可以用 elif
關鍵字來構成多重判斷:
>>> def g(a):
>>> if a < 10:
>>> print(a, "小於 10")
>>> elif a == 10:
>>> print(a, "等於 10")
>>> else:
>>> print(a, "大於 10")
>>>
>>> g(7)
>>> g(10)
>>> g(13)
7 小於 10
10 等於 10
13 大於 10
discount()
,輸入一個價格 price
,若價格大於 300 元時打九折,回傳折扣後的價格。完整的程式碼放在此 Colab 裡面供各位參考。